Algorithmique et programmation - Spécialité

Les instructions séquentielles, conditionnelles et itératives

Exercice 1 : Appel de fonction Python avec une instruction conditionnelle if sans else

On considère la fonction Python suivante :

def mystere(n):
    if n > 11 :
        n =  n - 3
    return n
Que renvoie l'appel de la fonction mystere(7) ?
Que renvoie l'appel de la fonction mystere(15) ?

Exercice 2 : Instruction conditionnelle if elif else - Python

On considère la fonction ci-dessous :

def mystere(n):
    if n > 12:
        return n % 2
    elif n == 8:
        return n // 4
    else:
        return n - 1
Quelle est la valeur renvoyée par mystere(16)?
Quelle est la valeur renvoyée parmystere(8)?

Exercice 3 : Instruction conditionnelle if else - Python

On considère la fonction ci-dessous :

def mystere(n):
    if n != 7:
        return n - 4
    else:
        return n % 1
Quelle est la valeur renvoyée par mystere(7)?
Quelle est la valeur renvoyée parmystere(9)?

Exercice 4 : PGCD - Algorithme d'Euclide (inspiré par Bac S Antilles-Guyane 2015 pour spé)

Pour deux entiers naturels non nuls \(c\) et \(h\), on note \(\operatorname{r}{\left (c,h \right )}\) le reste dans la division euclidienne de \(c\) et \(h\). On considère l'algorithme suivant :

   \(a\)\(\operatorname{r}{\left (c,h \right )}\)
   Tant que \(a \neq 0\) :
   \(c\)\(h\)
   \(h\)\(a\)
   \(a\)\(\operatorname{r}{\left (c,h \right )}\)
   Afficher « \(h\) »
[A]Si ??? :
   Afficher « \(c\) et \(h\) sont premiers entre eux »

Faire fonctionner cet algorithme avec \(c=50\) et \(h=14\) en indiquant les valeurs de \(c\), \(h\) et \(a\) à chaque étape.

{"data": [["50", "?", "?", "?"], ["14", "?", "?", "?"], ["?", "?", "?", "?"]], "header_left": ["c", "h", "a"]}

Cet algorithme donne en sortie le PGCD des entiers naturels non nuls \(c\) et \(h\). Par quelle expression doit on compléter la ligne [A] pour qu’il indique si deux entiers naturels non nuls \(c\) et \(h\) sont premiers entre eux ou non.

Exercice 5 : Dichotomie vers racine de polynôme 2nd degré (inspiré par Bac S Asie 2015)

On considère l'algorithme ci-dessous :

\(a\)\(2\)
\(b\)\(3\)
Tant que \(b - a \gt 0,3\) :
\(x\)\(\dfrac{a + b}{2}\)
Si \(\operatorname{f}{\left (a \right )} \times \operatorname{f}{\left (x \right )} \gt 0\) :
\(a\)\(x\)
Sinon
\(b\)\(x\)

Si \(f(x) = -14 + 3x^{2}\), quel est le resultat de \(\dfrac{a + b}{2}\) ?

False